package co.edu.usbcali.correspondencia.modelo.dto;

import co.edu.usbcali.correspondencia.modelo.Factura;
import co.edu.usbcali.correspondencia.presentation.backingBeans.FacturaView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public class FacturaDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String cueCodCuenta_Cuenta;
    private String estCodigo_Estado;
    private String priCodigo_PropietarioInmueble;
    private String facCodigo;
    private Date facFecha;
    private boolean rowSelected = false;
    private FacturaView facturaView;
    private Factura factura;

    public Factura getFactura() {
        return factura;
    }

    public String listener_update(ActionEvent e) {
        try {
            facturaView.action_modifyWitDTO(((facCodigo == null) ||
                facCodigo.equals("")) ? null : new String(facCodigo),
                ((facFecha == null) || facFecha.equals("")) ? null : facFecha,
                ((cueCodCuenta_Cuenta == null) ||
                cueCodCuenta_Cuenta.equals("")) ? null
                                                : new String(
                    cueCodCuenta_Cuenta),
                ((estCodigo_Estado == null) || estCodigo_Estado.equals(""))
                ? null : new String(estCodigo_Estado),
                ((priCodigo_PropietarioInmueble == null) ||
                priCodigo_PropietarioInmueble.equals("")) ? null
                                                          : new String(
                    priCodigo_PropietarioInmueble));
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }

    public void listener_cancel(ActionEvent e) {
        facCodigo = factura.getFacCodigo().toString();
        facFecha = factura.getFacFecha();
        cueCodCuenta_Cuenta = (factura.getCuenta().getCueCodCuenta() != null)
            ? factura.getCuenta().getCueCodCuenta().toString() : null;
        estCodigo_Estado = (factura.getEstado().getEstCodigo() != null)
            ? factura.getEstado().getEstCodigo().toString() : null;
        priCodigo_PropietarioInmueble = (factura.getPropietarioInmueble()
                                                .getPriCodigo() != null)
            ? factura.getPropietarioInmueble().getPriCodigo().toString() : null;
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Object details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        facCodigo = factura.getFacCodigo().toString();
        facFecha = factura.getFacFecha();
        cueCodCuenta_Cuenta = (factura.getCuenta().getCueCodCuenta() != null)
            ? factura.getCuenta().getCueCodCuenta().toString() : null;
        estCodigo_Estado = (factura.getEstado().getEstCodigo() != null)
            ? factura.getEstado().getEstCodigo().toString() : null;
        priCodigo_PropietarioInmueble = (factura.getPropietarioInmueble()
                                                .getPriCodigo() != null)
            ? factura.getPropietarioInmueble().getPriCodigo().toString() : null;
        rowSelected = !rowSelected;
    }

    public void setFactura(Factura factura) {
        this.factura = factura;
    }

    public FacturaView getFacturaView() {
        return facturaView;
    }

    public void setFacturaView(FacturaView facturaView) {
        this.facturaView = facturaView;
    }

    public String getCueCodCuenta_Cuenta() {
        return cueCodCuenta_Cuenta;
    }

    public void setCueCodCuenta_Cuenta(String cueCodCuenta_Cuenta) {
        this.cueCodCuenta_Cuenta = cueCodCuenta_Cuenta;
    }

    public String getEstCodigo_Estado() {
        return estCodigo_Estado;
    }

    public void setEstCodigo_Estado(String estCodigo_Estado) {
        this.estCodigo_Estado = estCodigo_Estado;
    }

    public String getPriCodigo_PropietarioInmueble() {
        return priCodigo_PropietarioInmueble;
    }

    public void setPriCodigo_PropietarioInmueble(
        String priCodigo_PropietarioInmueble) {
        this.priCodigo_PropietarioInmueble = priCodigo_PropietarioInmueble;
    }

    public Date getFacFecha() {
        return facFecha;
    }

    public void setFacFecha(Date facFecha) {
        this.facFecha = facFecha;
    }

    public String getFacCodigo() {
        return facCodigo;
    }

    public void setFacCodigo(String facCodigo) {
        this.facCodigo = facCodigo;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }
}
